Перейти к основному содержимому

Перевыпуск сертификатов

· 2 мин. чтения
Антон Трофимов
Менеджер проекта

На форме поддержки вышла статья про перевыпуск сертификатов. Тема важная, поэтому продублируем здесь.

Часто поступают запросы, связанные с падением сервисов или коллекторов через несколько месяцев после установки. В большинстве случаев это связано с сертификатами. Давайте разберёмся в чём дело.

Какие у нас есть сертификаты?

Мы составляем цепочку сертификатов, чтобы в случае компрометации одного из цепочки не была скомпрометирована вся система. В общем случае, подразумевается наличие сертификатов:

  • Корневой (CA)
  • Серверный (Server)
  • Клиентский(Client)
  • Браузерный(Browser)

Где лежат сертификаты?

Сертификаты, расположенные в /var/lib/echelon/komrad/certs/, являются одним из гарантов безопасности Вашей системы. На папку есть специальные разрешения, доступ к ней должен быть у группы root и пользователя komrad.

Какой срок годности у сертификатов?

При установке в автоматическом режиме установщик сам выставит сроки их годности.

  • Корневой (CA) 12 месяцев
  • Серверный (Server) 3 месяца
  • Клиентский(Client) 3 месяца
  • Браузерный(Browser) 3 месяца

Как определить что проблема с сертификатом?

В лога Вы увидите ошибку:

x509 expired certificate

Как проверить срок годности сертификатов?

Выполните команду:

openssl x509 -in /var/lib/echelon/komrad/certs/ca.pem -text -noout | grep "Not After" && openssl x509 -in /var/lib/echelon/komrad/certs/server.pem -text -noout | grep "Not After" && openssl x509 -in /var/lib/echelon/komrad/certs/client.pem -text -noout | grep "Not After"

После выполнения команды будет выведен результат. Если напротив сертификата будет стоять параметр Not Afterраньше текущей даты значит сертификат сертификат просрочен, необходимо выпустить сертификаты. Выпустить серверный сертификат

sudo komrad-cli certificates create server --organization “Echelon” localhost 127.0.0.1 $(hostname -I) $(hostname) --ca /var/lib/echelon/komrad/certs/ca.pem --ca-key /var/lib/echelon/komrad/certs/ca-key.pem

Выпуск клиентского сертификата

sudo komrad-cli certificates create client --ca /var/lib/echelon/komrad/certs/ca.pem --ca-key /var/lib/echelon/komrad/certs/ca-key.pem

Браузерный сертификат

sudo cp ./client-browser.p12 client.pem client-key.pem server-key.pem server.pem /var/lib/echelon/komrad/certs

Не забудьте указать необходимые сроки годности флагом expire например так:

sudo komrad-cli certificates create ca --expire 24m

Если сертификаты по какой-то причине не воспринимаются сервисом, например они лежат в не стандартной папке, дайте разрешение на их использование пользователю komrad выполнив команды :

sudo chown -R komrad:komrad /var/lib/echelon/komrad/certs
sudo chmod -R 755 /var/lib/echelon/komrad/certs
sudo chmod 0640 /var/lib/echelon/komrad/certs/server-key.pem
sudo chown root:komrad /var/lib/echelon/komrad/certs/server-key.pem
sudo usermod -a -G komrad postgres
sudo chmod 755 client-browser.p12

Не забудьте перезапустить сервисы!